import {defaultOffset} from './config'

export function getScrollTop(){
  let scrollTop=0;
  if(document.documentElement&&document.documentElement.scrollTop){
    scrollTop=document.documentElement.scrollTop;
  }else if(document.body){
    scrollTop=document.body.scrollTop;
  }
  return scrollTop;
}

/**
 * 深拷贝对象
 * @param obj 传入对象
 */
export function deepClone(obj) {
  return JSON.parse(JSON.stringify(obj))
}

/**
 *
 * @param arr 表格数组
 * @param page 页码
 * @param offset 每页数量
 * @returns {Array.<T>|string|Blob|ArrayBuffer}
 */
export function pageData(arr,page,offset) {
  offset = offset || defaultOffset
  return arr.slice((page - 1) * offset,(page - 1) * offset + offset)
}

/**
 * 格式化日期
 * @param date 日期对象
 * @param fmt yyyy-MM-dd
 * @returns {*}
 */
export function formatDate(date, fmt) {
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
  }
  let o = {
    'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'h+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds()
  };
  for (let k in o) {
    if (new RegExp(`(${k})`).test(fmt)) {
      let str = o[k] + '';
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
    }
  }
  return fmt;
};

function padLeftZero(str) {
  return ('00' + str).substr(str.length);
}
